
package com.ys.chatserver.http.file.u;

import com.eva.framework.utils.LoggerFactory;

import java.util.HashMap;

/**
 * 短视频消息中的首帧预览图文件上传处理实现类。
 * <p>
 * 首帧预览图用于用户收到短视频消息时，能在不解析视频的情况下高效地显示视频预览效果，提升体验。
 *
 * @author Jack Jiang
 */
public class ShortVideoThumbUploader extends UploaderRoot {
    @Override
    protected String getFileSaveDir() {
        return ShortVideoUploader.getShortVideoFileSaveDir();
    }

    @Override
    protected void onUploadSucess(HashMap<String, Object> parametersFromClient) throws Exception {
        String userUid = (String) parametersFromClient.get("user_uid");
        // 因为服务端是支持多文件上传的API，所以客户端单独把文件名带过来了，方便使用！
        String fileName = (String) parametersFromClient.get("file_name");
        // 客户端传过来的token，用于请求的合法性检查，当前未作强制检查，留作以后使用
        String token = (String) parametersFromClient.get("token");

        LoggerFactory.getLog().debug("[" + getDebugTAG() + "] 用户" + userUid + "的短视频首帧预览图文件" + fileName
                + "数据上传成功！【OK】(token=" + token + ")");
    }

    @Override
    protected void onUploadFailure(Exception ex) {
        LoggerFactory.getLog().error("[" + getDebugTAG() + "] 处理短视频首帧预览图上传时出错了，" + ex.getMessage(), ex);
    }

    @Override
    protected String getDebugTAG() {
        return "HTTP短视频首帧";
    }
}
